/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package autenticacion.Capa_Negocios;

import data.cntAccesoDatos;
import java.util.Stack;

/**
 *
 * @author Miguel
 */
public class cntPerfil {
    String ide;
    Stack menus;
    public cntPerfil(String id){
        ide = id;
    }
    public String createMenu(){
        item_menu item, it;
        String html="";
        menus = new Stack<item_menu>();
        cntAccesoDatos con = new cntAccesoDatos();
        con.setTable("vw_menu");
        con.add("ide_det"); // Ide 0
        con.add("pos_men"); // Posicion 1
        con.add("ide_perfil"); //Ide_perfil 2
        con.add("ena_men"); //Enabled   3
        con.add("par_men"); //Padre 4
        con.add("cod_men"); //Codigo    5
        con.add("tit_men"); //Titulo    6
        con.add("frm_men"); //Formulario    7
        con.add("acc_men"); //Accion    8
        con.add("tip_men"); //Tipo  9
        con.add("ico_men"); //Icono 10
        con.setWhere("ide_perfil='"+ide+"' and par_men=0");
        con.setType(cntAccesoDatos.SELECT);
        String data[][]=null;
        try {
            data = con.execute();
        } catch (Exception ex) {
        }
        if (data!=null){
            for (int i=0;i<data.length;i++){
                it = new item_menu(data[i]);
                it.level = 1;
                menus.push(it);
            }
        }
        while (!menus.empty()){
            item = (item_menu) menus.pop();
            String menu="", accion="";
            menu = "[\"";
            for (int i=0;i<item.level;i++) menu+="|";
            menu+=item.data[6]+"\",";
            accion = item.data[8];//.replaceFirst("_form_", "'"+item.data[7]+"'");
            if (accion!=null){
                accion = accion.replaceFirst("_form_", "'"+item.data[7]+"'");
            }else{
                accion="";
            }
            menu+="\""+accion+"\",";
            menu+="\""+item.data[9]+"\",";
            menu+="\""+item.data[3]+"\",";
            
            con.setWhere("ide_perfil='"+ide+"' and par_men='"+item.data[0]+"'");
            con.prepare();
            try {
                data = con.execute();
                if (data.length>=1){
                    menu+="\"1\",";
                    for (int i=0;i<data.length;i++){
                        it = new item_menu(data[i]);
                        it.level = item.level+1;
                        menus.push(it);
                    }
                }
                else{
                    menu+="\"0\",";
                }
            } catch (Exception ex) {

            }
            menu+="\""+item.data[10]+"\"";
            menu+= "]";
            if (!menus.empty()) menu+=",";
            html+=menu;
        }
        html="["+html+"]";
        return html;
    }
    
}
